#!/usr/bin/env python3
# Created by han on 2016/5/30
from function import input_auth,register_info,register,register_info_outer,\
    login_info,modify_msg,modifi_outer,search_info,search,res_user_info,other_modify,file_process,manage_check_info

import os

USER_INFO = 'user_info.db'
USER_INFO_BAK = 'user_info.db.bak'
SEARCH_FILE = 'search.txt'
SEARCH_FILE_BAK = 'search.txt.bak'


def main():
    while True:
        user_input = input_auth("用户登陆","用户注册")
        if user_input == 1:
                user_name = input("请输入用户名或按【回车】返回： ")
                if not user_name:                               #如果user为真则往下继续采集数据
                    continue
                user_pass = input("请输入密码： ")
                if not user_pass:
                    continue
                login_mes = login_info(user_name,user_pass)
                # print(login_mes,'-------------')
                if not login_mes:                       #如果login_info中判断输入密码有误则传回假为假则让其重新输入
                    continue
                while True:
                    modify_chose = modify_msg(**login_mes)                  #把当前登陆的用户信息字典传入,并返回出来 进入第二层选择菜单
                    #print(modify_chose)
                    if modify_chose:
                        if modify_chose[0] == 1:                                #返回值为一个元组，选择的标志位和登陆用户信息的字典
                            modify_user = res_user_info(**modify_chose[1])      #返回一个要修改的用户，和登陆用户的user
                           # print(modify_user)
                            if modify_user:
                                if not modify_user[0]:
                                    continue
                                other_modify(modify_user)
                                if os.path.exists(SEARCH_FILE_BAK) and os.path.exists(USER_INFO_BAK):
                                    print("1、保存修改内容 2、放弃修改内容")
                                    user_chose = input("\033[33;33m 您是否确定保存修改的内容：\33[0m ")
                                    if user_chose == "1":
                                        mv_ok = file_process()
                                        if mv_ok:
                                            print("\033[33;32m 您修改的信息已经保存成功 \033[0m")
                                        else:
                                            print("\033[33;31m 修改保存失败，请重试 \033[0m")
                                            continue
                                    elif user_chose == "2":
                                        print("\033[33;33m 已放弃已经修改的内容 \033[0m")
                                        continue

                            else:
                                continue
                        elif modify_chose[0] == 2:
                            sea_res = search_info()
                            if sea_res:
                                search(sea_res)
                            else:
                                continue
                        elif modify_chose[0] == 3:
                            manage_check_info()
                    else:
                        break
        elif user_input == 2:
            reg_info = register_info()
            register(**reg_info)


main()
